Telegram Group & Telegram Channel
بحر در کوزه این بار با HF!

احتمالا تا حالا شده که در مسیر تسک‌های NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیره‌سازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دست‌ها رو به نشانه تسلیم بالا می‌برید. اما هاگینگ‌فیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه می‌کنید. قابلیت memory mapping (که به صورت پیش‌فرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست می‌سازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لود‌شده در RAM هستند. پس یه جور آیینه تمام‌نمای RAM محسوب می‌شه و از این جا به بعد دیگه این کتابخانه یه اشاره‌گر به اول این فایل باز می‌کنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایل‌ها استفاده می‌کنه Apache Arrow هست که یه فرمت بهینه‌شده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی می‌تونید از هاب دیتاست هاگینگ‌فیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیش‌فرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست می‌دید (مثلا نمی‌تونید دستور dataset[2335] رو ران کنید چون آبجکتی که می‌سازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپل‌های یک دیتاست استریم‌نشده رو می‌گیرید. پس دیگه بهونه بسه و پاشید کار با دیتاست‌های بزرگ رو شروع کنید.

پ.ن: در تصاویر یه سری نمونه کد‌هایی آوردیم که از فصل ۱۰ کتاب گران‌سنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگ‌فیسه.

#handsOn

@nlp_stuff



tg-me.com/nlp_stuff/310
Create:
Last Update:

بحر در کوزه این بار با HF!

احتمالا تا حالا شده که در مسیر تسک‌های NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیره‌سازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دست‌ها رو به نشانه تسلیم بالا می‌برید. اما هاگینگ‌فیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه می‌کنید. قابلیت memory mapping (که به صورت پیش‌فرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست می‌سازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لود‌شده در RAM هستند. پس یه جور آیینه تمام‌نمای RAM محسوب می‌شه و از این جا به بعد دیگه این کتابخانه یه اشاره‌گر به اول این فایل باز می‌کنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایل‌ها استفاده می‌کنه Apache Arrow هست که یه فرمت بهینه‌شده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی می‌تونید از هاب دیتاست هاگینگ‌فیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیش‌فرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست می‌دید (مثلا نمی‌تونید دستور dataset[2335] رو ران کنید چون آبجکتی که می‌سازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپل‌های یک دیتاست استریم‌نشده رو می‌گیرید. پس دیگه بهونه بسه و پاشید کار با دیتاست‌های بزرگ رو شروع کنید.

پ.ن: در تصاویر یه سری نمونه کد‌هایی آوردیم که از فصل ۱۰ کتاب گران‌سنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگ‌فیسه.

#handsOn

@nlp_stuff

BY NLP stuff




Share with your friend now:
tg-me.com/nlp_stuff/310

View MORE
Open in Telegram


NLP stuff Telegram | DID YOU KNOW?

Date: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

NLP stuff from es


Telegram NLP stuff
FROM USA